package com.bup.gn.utils.exceptions.handler;

import com.bup.gn.utils.exceptions.ExceptionInfo;

public interface IExceptionHandler {
    /**
     * Logs the exception as well as creates an instance of
     * <code>ExceptionInfo</code> which contains the attributes that are used
     * to show a message to the end user.
     *
     * @param context String object.
     * @param userId  User id as String.
     * @param th      Throwable object.
     * @return <code>ExceptionInfo</code> which contains the details for
     *         displaying a user-friendly message to end user.
     */
    ExceptionInfo handleException(String context, String userId, Throwable th);
}